from peewee import *
from .base import OutputBase, BaseModel


class Soil_nutcarb_out(BaseModel):
	day = IntegerField(null=True)
	year = IntegerField(null=True)
	hru = IntegerField(null=True)
	soil_mn_no3 = DoubleField(null=True)
	soil_mn_nh4 = DoubleField(null=True)
	soil_mp_wsol = DoubleField(null=True)
	soil_mp_lab = DoubleField(null=True)
	soil_mp_act = DoubleField(null=True)
	soil_mp_sta = DoubleField(null=True)
	soil_tot_m = DoubleField(null=True)
	soil_tot_c = DoubleField(null=True)
	soil_tot_n = DoubleField(null=True)
	soil_tot_p = DoubleField(null=True)
	soil_str_m = DoubleField(null=True)
	soil_str_c = DoubleField(null=True)
	soil_str_n = DoubleField(null=True)
	soil_str_p = DoubleField(null=True)
	soil_lig_m = DoubleField(null=True)
	soil_lig_c = DoubleField(null=True)
	soil_lig_n = DoubleField(null=True)
	soil_lig_p = DoubleField(null=True)
	soil_meta_m = DoubleField(null=True)
	soil_meta_c = DoubleField(null=True)
	soil_meta_n = DoubleField(null=True)
	soil_meta_p = DoubleField(null=True)
	soil_man_m = DoubleField(null=True)
	soil_man_c = DoubleField(null=True)
	soil_man_n = DoubleField(null=True)
	soil_man_p = DoubleField(null=True)
	soil_hs_m = DoubleField(null=True)
	soil_hs_c = DoubleField(null=True)
	soil_hs_n = DoubleField(null=True)
	soil_hs_p = DoubleField(null=True)
	soil_hp_m = DoubleField(null=True)
	soil_hp_c = DoubleField(null=True)
	soil_hp_n = DoubleField(null=True)
	soil_hp_p = DoubleField(null=True)
	soil_microb_m = DoubleField(null=True)
	soil_microb_c = DoubleField(null=True)
	soil_microb_n = DoubleField(null=True)
	soil_microb_p = DoubleField(null=True)
	soil_water_m = DoubleField(null=True)
	soil_water_c = DoubleField(null=True)
	soil_water_n = DoubleField(null=True)
	soil_water_p = DoubleField(null=True)


class Crop_yld_aa(BaseModel):
	jday = IntegerField(null=True)
	mon = IntegerField(null=True)
	day = IntegerField(null=True)
	yr = IntegerField(null=True)
	unit = IntegerField(null=True)
	plantnm = CharField(null=True)
	mass = DoubleField(null=True)
	c = DoubleField(null=True)
	n = DoubleField(null=True)
	p = DoubleField(null=True)


class Basin_crop_yld_aa(BaseModel):
	year = IntegerField(null=True)
	plant_no = IntegerField(null=True)
	plant_name = CharField(null=True)
	harv_area = DoubleField(null=True)
	yld_t = DoubleField(null=True)
	yld_t_per_ha = DoubleField(null=True)


class Basin_crop_yld_yr(BaseModel):
	year = IntegerField(null=True)
	plant_no = IntegerField(null=True)
	plant_name = CharField(null=True)
	harv_area = DoubleField(null=True)
	yld_t = DoubleField(null=True)
	yld_t_per_ha = DoubleField(null=True)


class Flow_duration_curve(BaseModel):
	ob_typ = CharField()
	props = IntegerField()
	area_ha = DoubleField(null=True)
	mean = DoubleField(null=True)
	max = DoubleField(null=True)
	p_1 = DoubleField(null=True)
	p_5 = DoubleField(null=True)
	p1 = DoubleField(null=True)
	p2 = DoubleField(null=True)
	p3 = DoubleField(null=True)
	p5 = DoubleField(null=True)
	p10 = DoubleField(null=True)
	p15 = DoubleField(null=True)
	p20 = DoubleField(null=True)
	p25 = DoubleField(null=True)
	p30 = DoubleField(null=True)
	p35 = DoubleField(null=True)
	p40 = DoubleField(null=True)
	p45 = DoubleField(null=True)
	p50 = DoubleField(null=True)
	p55 = DoubleField(null=True)
	p60 = DoubleField(null=True)
	p65 = DoubleField(null=True)
	p70 = DoubleField(null=True)
	p75 = DoubleField(null=True)
	p80 = DoubleField(null=True)
	p85 = DoubleField(null=True)
	p90 = DoubleField(null=True)
	p95 = DoubleField(null=True)
	p97 = DoubleField(null=True)
	p98 = DoubleField(null=True)
	p99 = DoubleField(null=True)
	min = DoubleField(null=True)


class Mgt_out(BaseModel):
	hru = IntegerField(null=True)
	year = IntegerField(null=True)
	mon = IntegerField(null=True)
	day = IntegerField(null=True)
	crop = CharField(null=True)
	operation = CharField()
	phubase = DoubleField()
	phuplant = DoubleField()
	soil_water = DoubleField()
	plant_bioms = DoubleField()
	surf_rsd = DoubleField()
	soil_no3 = DoubleField()
	soil_solp = DoubleField()
	op_var = DoubleField(null=True)
	var1 = DoubleField(null=True)
	var2 = DoubleField(null=True)
	var3 = DoubleField(null=True)
	var4 = DoubleField(null=True)
	var5 = DoubleField(null=True)
	var6 = DoubleField(null=True)
	var7 = DoubleField(null=True)
